Interfacing Chapel with traditional HPC programming languages

نویسندگان

  • Adrian Prantl
  • Thomas Epperly
  • Shams Imam
  • Vivek Sarkar
  • Sonia Sachs
چکیده

Chapel is a high-level parallel programming language that implements a partitioned global address space model (PGAS). Programs written in this programming model have traditionally been selfcontained entities written entirely in one language. While this approach enables the compiler to produce better performing code by doing whole program optimization, it also carries a risk of positioning PGAS languages as “island” programming languages. In this paper we present a tool that lets Chapel programs call functions and instantiate objects written in C, C++, Fortran 77– 2008, Java and Python. Our tool creates language bindings that are binary-compatible with those generated by the Babel language interoperability tool. The scientific community maintains a large amount of code (mathematical libraries, solvers and numerical models) written in legacy languages. With the help of our tool, users will gain access to their existing codebase with minimal effort and through a well-defined interface. Knowing the demands of the target audience, we support the full Babel array API. A particular contribution of this paper is that we expose Chapel’s distributed data types through our interface and make them accessible to external functions implemented in traditional serial programming languages. We anticipate applying similar concepts to other PGAS languages in the future.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Preliminary Evaluation of Chapel capabilities with NAS Parallel Benchmarks

Chapel is a new high-level programming language aimed at the programmability aspect required for HPC. This document shows a preliminary comparison between the OMP implementation of several NAS Benchmarks and their corresponding versions written in Chapel.

متن کامل

Chapel, Fortress and X10: novel languages for HPC

Chapel, Fortress and X10 are novel languages focussed on the HPC community. They have been developed with the aim to facilitate the programming of large nextgeneration parallel systems and increase both the productivity of the programs’ developers and the scalability of the developed codes. This report introduces these languages by offering on overview of the design and specification of each la...

متن کامل

Porting GASNet to Portals: Partitioned Global Address Space (PGAS) Language Support for the Cray XT

Partitioned Global Address Space (PGAS) Languages are an emerging alternative to MPI for HPC applications development. The GASNet library from Lawrence Berkeley National Lab and the University of California at Berkeley provides the network runtime for multiple implementations of four PGAS Languages: Unified Parallel C (UPC), Co-Array Fortran (CAF), Titanium and Chapel. GASNet provides a low ove...

متن کامل

A Study of Successive Over-relaxation (SOR) Method Parallelization Over Modern HPC Languages

Successive over-relaxation (SOR) is a computationally intensive, yet extremely important iterative solver for solving linear systems. Due to recent trends of exponential growth in amount of data generated and increasing problem sizes, serial platforms have proved to be insufficient in providing the required computational power. In this paper, we present parallel implementations of red-black SOR...

متن کامل

A study of successive over-relaxation method parallelisation over modern HPC languages

Successive over-relaxation (SOR) is a computationally intensive, yet extremely important iterative solver for solving linear systems. Due to recent trends of exponential growth in amount of data generated and increasing problem sizes, serial platforms have proved to be insufficient in providing the required computational power. In this paper, we present parallel implementations of red-black SOR...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011